package com.gzz.orchid.context.domain.inventory.entity;

import com.gzz.orchid.common.core.tuple.Money;
import com.gzz.orchid.common.core.tuple.OrderNo;
import com.gzz.orchid.context.infrastructure.definition.Status;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Set;

/**
 * 采购单
 * 英文全称: Purchase Order
 * 常用缩写: P.O.
 * 解释: 由买方（公司）向供应商发出的正式文件，
 * 详细说明要购买的物品、数量、价格、交货条款等。
 * 它是采购申请被批准后生成的具有法律效力的订单合同。
 *
 * @author higmd
 */
@Data
public class PurchaseDo {
    /**
     * 采购单编号
     */
    private OrderNo no;
    /**
     * 采购时间
     */
    private LocalDateTime timeAt;
    /**
     * 经办人
     */
    private String handler;
    /**
     * 供应商编号
     */
    private String supplierNo;
    /**
     * 采购单金额
     */
    private Money amount;
    /**
     * 采购单备注
     */
    private String memo;
    /**
     * 采购单状态
     */
    private Status status;
    /**
     * 采购单明细
     */
    private Set<OrderDetail> items;
}
